// // Компонент который кандидат должен реализовать самостоятельно
// const List = ({onClickElement}: { onClickElement: OnClickElement}) =>
// {
//     const {data} = useFetchData<Floor>(listService.getListByFloor)
//
//     return <>
//         {data?.map(({id}, index) => {
//             return <div key={index}
//                         onClick={() => onClickElement(id)}>{id}</div>;
//         })}
//     </>
// }



//
// //Этот интерфейс кандидат должен вывести самостоятельно, возможно на подготовительной секции
// export interface CarPlace { id: string, isEmpty: boolean }
//
// //Этот интерфейс кандидат должен вывести самостоятельно, возможно на подготовительной секции ( допом  попопросить заменить на дженерик и по дефолту unknown[])
// export type Floor = CarPlace[]
//
// export type Storage = Floor[]

export type Floor<Element> = {
    floorLevel:number,
    fullSize:number,
    lots: Element[],
}


export type Build<Element> = {
    address:string,
    floors: Floor<Element>[],
}

// Можно попросить кандидата сравнить его реализацию интерфейса здания парковки с реализацией офиса, возможно жти интерфейсы можно сделать расширяемыми, вынести общее
export type Office = {
    address:string,
    floors: {
        floorLevel:number,
        fullSize:number,
        lots: {
            id:string,
            isEmpty:boolean,
            hasDisplay:boolean,
            hasLan:boolean,
        }[],
    }[]
}


// Компонент создается кандидатом
// export const RightContent= memo(  () =>{
//     const {isLoading, data} = useResponseHook <ArrayResponse<IdParkingResponse>[]>(listService.getAllCarPlaces())
//
//     if(isLoading)return<div> Загрузка</div>
//
//     if(!data) return <div> Ошибка</div>
//
//     return null
// })
